binary search combinatorics data structures divide and conquer implementation two pointers *2000

Please click on ads to support us..

Python Code:

from collections import Counter
for i in range(int(input())):
  s = input()
  res=cur=0
  cnt = Counter({0:1})
  for c in s:
    cur += 1 if c == '(' else -1
    res += cnt[cur]
    cnt[cur] += 1
    cnt[(cur-1)//2] = 0
  print(res)


Comments

Submit
0 Comments
More Questions

Book of Potion making
Duration
Birthday Party
e-maze-in
Bricks Game
Char Sum
Two Strings
Anagrams
Prime Number
Lexical Sorting Reloaded
1514A - Perfectly Imperfect Array
580A- Kefa and First Steps
1472B- Fair Division
996A - Hit the Lottery
MSNSADM1 Football
MATCHES Playing with Matches
HRDSEQ Hard Sequence
DRCHEF Doctor Chef
559. Maximum Depth of N-ary Tree
821. Shortest Distance to a Character
1441. Build an Array With Stack Operations
1356. Sort Integers by The Number of 1 Bits
922. Sort Array By Parity II
344. Reverse String
1047. Remove All Adjacent Duplicates In String
977. Squares of a Sorted Array
852. Peak Index in a Mountain Array
461. Hamming Distance
1748. Sum of Unique Elements
897. Increasing Order Search Tree